package br.ufrn.execicios.jsf.ui;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;

import javax.annotation.PostConstruct;
import javax.faces.application.FacesMessage;
import javax.faces.application.FacesMessage.Severity;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.RequestScoped;
import javax.faces.context.FacesContext;

import br.ufrn.execicios.jsf.commons.FacesUtil;
import br.ufrn.execicios.jsf.dataServer.AnunciosDataServer;
import br.ufrn.execicios.jsf.dataServer.UsuarioDataServer;
import br.ufrn.execicios.jsf.models.Anuncio;
import br.ufrn.execicios.jsf.models.Usuario;


@SuppressWarnings("serial")
@ManagedBean
@RequestScoped
public class UsuarioBean extends AbstractSecuredBean implements Serializable {
	
	private List<Usuario> usuarios= new ArrayList<Usuario>();
	private Usuario usuarioSelecionado = new  Usuario();
	private List<Anuncio>anunciosUsuario = new ArrayList<Anuncio>();
	
	
	private UsuarioDataServer ds;
	
	
	@PostConstruct
	public void onInit(){
		
		ds=new UsuarioDataServer();
		anunciosUsuario=new AnunciosDataServer().
				getAnunciosByCodUsuario(getUsuarioLogado().getCodigo());

	}
	public void salvar(){
		try {
			ds.criarUsuario(usuarioSelecionado);
		} catch (Exception e) {
			FacesUtil.adicionarMensagem(FacesMessage.SEVERITY_ERROR,
					"Erro ao inserir o registro");
		}
	}
	
	public List<Usuario> getUsuarios() {
		return usuarios;
	}
	public void setUsuarios(List<Usuario> usuarios) {
		this.usuarios = usuarios;
	}
	public Usuario getUsuarioSelecionado() {
		return usuarioSelecionado;
	}
	public void setUsuarioSelecionado(Usuario usuarioSelecionado) {
		this.usuarioSelecionado = usuarioSelecionado;
	}
	public List<Anuncio> getAnunciosUsuario() {
		return anunciosUsuario;
	}
	public void setAnunciosUsuario(List<Anuncio> anunciosUsuario) {
		this.anunciosUsuario = anunciosUsuario;
	}

}
